[
    {
        "id": "ba39",
        "name": "Add taprio Qdisc to multi-queue device (8 queues)",
        "category": [
            "qdisc",
            "taprio"
        ],
        "plugins": {
            "requires": "nsPlugin"
        },
        "setup": [
            "echo \"1 1 8\" > /sys/bus/netdevsim/new_device"
        ],
        "cmdUnderTest": "$TC qdisc add dev $ETH root handle 1: taprio num_tc 3 map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 queues 1@0 1@0 1@0 base-time 1000000000 sched-entry S 01 300000 flags 0x1 clockid CLOCK_TAI",
        "expExitCode": "0",
        "verifyCmd": "$TC qdisc show dev $ETH",
        "matchPattern": "qdisc taprio 1: root refcnt [0-9]+ tc 3 map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2",
        "matchCount": "1",
        "teardown": [
            "echo \"1\" > /sys/bus/netdevsim/del_device"
        ]
    },
    {
        "id": "9462",
        "name": "Add taprio Qdisc with multiple sched-entry",
        "category": [
            "qdisc",
            "taprio"
        ],
        "plugins": {
            "requires": "nsPlugin"
        },
        "setup": [
            "echo \"1 1 8\" > /sys/bus/netdevsim/new_device"
        ],
        "cmdUnderTest": "$TC qdisc add dev $ETH root handle 1: taprio num_tc 3 map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 queues 1@0 1@0 1@0 base-time 1000000000 sched-entry S 01 300000 sched-entry S 03 300000 sched-entry S 04 400000 flags 0x1 clockid CLOCK_TAI",
        "expExitCode": "0",
        "verifyCmd": "$TC qdisc show dev $ETH",
        "matchPattern": "index [0-9]+ cmd S gatemask 0x[0-9]+ interval [0-9]+00000",
        "matchCount": "3",
        "teardown": [
            "echo \"1\" > /sys/bus/netdevsim/del_device"
        ]
    },
    {
        "id": "8d92",
        "name": "Add taprio Qdisc with txtime-delay",
        "category": [
            "qdisc",
            "taprio"
        ],
        "plugins": {
            "requires": "nsPlugin"
        },
        "setup": [
            "echo \"1 1 8\" > /sys/bus/netdevsim/new_device"
        ],
        "cmdUnderTest": "$TC qdisc add dev $ETH root handle 1: taprio num_tc 3 map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 queues 1@0 1@0 1@0 base-time 1000000000 sched-entry S 01 300000 flags 0x1 txtime-delay 500000 clockid CLOCK_TAI",
        "expExitCode": "0",
        "verifyCmd": "$TC qdisc show dev $ETH",
        "matchPattern": "clockid TAI flags 0x1 txtime delay 500000",
        "matchCount": "1",
        "teardown": [
            "echo \"1\" > /sys/bus/netdevsim/del_device"
        ]
    },
    {
        "id": "d092",
        "name": "Delete taprio Qdisc with valid handle",
        "category": [
            "qdisc",
            "taprio"
        ],
        "plugins": {
            "requires": "nsPlugin"
        },
        "setup": [
            "echo \"1 1 8\" > /sys/bus/netdevsim/new_device",
            "$TC qdisc add dev $ETH root handle 1: taprio num_tc 3 map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 queues 1@0 1@0 1@0 base-time 1000000000 sched-entry S 01 300000 flags 0x1 clockid CLOCK_TAI"
        ],
        "cmdUnderTest": "$TC qdisc del dev $ETH root handle 1:",
        "expExitCode": "0",
        "verifyCmd": "$TC qdisc show dev $ETH",
        "matchPattern": "qdisc taprio 1: root refcnt",
        "matchCount": "0",
        "teardown": [
            "echo \"1\" > /sys/bus/netdevsim/del_device"
        ]
    },
    {
        "id": "8471",
        "name": "Show taprio class",
        "category": [
            "qdisc",
            "taprio"
        ],
        "plugins": {
            "requires": "nsPlugin"
        },
        "setup": [
            "echo \"1 1 8\" > /sys/bus/netdevsim/new_device"
        ],
        "cmdUnderTest": "$TC qdisc add dev $ETH root handle 1: taprio num_tc 3 map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 queues 1@0 1@0 1@0 base-time 1000000000 sched-entry S 01 300000 flags 0x1 clockid CLOCK_TAI",
        "expExitCode": "0",
        "verifyCmd": "$TC class show dev $ETH",
        "matchPattern": "class taprio 1:[0-9]+ root leaf 1:",
        "matchCount": "8",
        "teardown": [
            "echo \"1\" > /sys/bus/netdevsim/del_device"
        ]
    },
    {
        "id": "0a85",
        "name": "Add taprio Qdisc to single-queue device",
        "category": [
            "qdisc",
            "taprio"
        ],
        "plugins": {
            "requires": "nsPlugin"
        },
        "setup": [
            "echo \"1 1\" > /sys/bus/netdevsim/new_device"
        ],
        "cmdUnderTest": "$TC qdisc add dev $ETH root handle 1: taprio num_tc 3 map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 queues 1@0 1@0 1@0 base-time 1000000000 sched-entry S 01 300000 flags 0x1 clockid CLOCK_TAI",
        "expExitCode": "2",
        "verifyCmd": "$TC qdisc show dev $ETH",
        "matchPattern": "qdisc taprio 1: root refcnt",
        "matchCount": "0",
        "teardown": [
            "echo \"1\" > /sys/bus/netdevsim/del_device"
        ]
    }
]
